export const colorTheme = {
    black: {
        // 线条颜色
        // 一般颜色，悬停颜色，错误颜色，正确颜色
        line: {
            normal: {
                normal: '#374a5c',
                hover: '#536f8a',
            },
            error: {
                normal: '#E64B4B',
                hover: '#536f8a',
            },
            ok: {
                normal: '#41c200',
                hover: '#536f8a',
            },
            info: {
                normal: '#228cf5',
                hover: '#536f8a',
            }
        },
        // 节点颜色
        // 16个节点的颜色
        node: {
            series: ["#ff4c6a", "#ff6619", "#ffaa00", "#c5db00", "#41c200", "#00cccc", "#0099ff", "#5757ff", "#8a7fff", "#9f40ff", "#cd75eb", "#d13fd1", "#395252", "#566d75", "#8fa9bd", "#afd4fa"],
            // 一般的背景
            normal: {
                fill: 'none',
                stroke: 'none',
            },
            // 选中的背景
            click: {
                fill: 'rgba(7, 21, 36, 0.8)',
                stroke: '#3399ff',
            },
            // 悬停的背景
            hover: {
                fill: 'rgba(7, 21, 36, 0.5)',
                stroke: 'none',
            }
        }
    },
    white: {
        line: {
            normal: {
                normal: '#b8c2cc',
                hover: '#667380',
            },
            error: {
                normal: '#E64B4B',
                hover: '#667380',
            },
            ok: {
                normal: '#41c200',
                hover: '#667380',
            },
            info: {
                normal: '#228cf5',
                hover: '#667380'
            }
        },
        node: {
            series: ["#ff4c6a", "#ff8624", "#e0bb00", "#8ab8e6", "#3dcc6c", "#00cccc", "#49abe6", "#6b6bff", "#9a93e6", "#ac59ff", "#cf8ae6", "#f562f5", "#ccd5de", "#afbbc7", "#788796", "#475766"],
            normal: {
                fill: 'none',
                stroke: 'none',
            },
            click: {
                fill: 'rgba(255, 255, 255, 0.8)',
                stroke: 'rgb(47, 131, 214)',
            },
            hover: {
                fill: 'rgba(255, 255, 255, 0.5)',
                stroke: '#dddddd',
            }
        }
    }
}


/**
 * 添加一套新主题
 * @param {string} themeName 
 * @param {Array[Object]} colors 
 */
export function registerTheme(themeName, colors) {
    if (colorTheme[themeName]) {
        console.warn(`Theme name ${themeName} already exists in Flowjs`)
        return
    }

    colorTheme[themeName] = colors
}